Skip to content

ROX-33198: Instrument inode tracking on file open lsm hook#391

Draft
JoukoVirtanen wants to merge 2 commits intomainfrom
jv-ROX-33198-instrument-inode-tracking-on-file_open-lsm-hook
Draft

ROX-33198: Instrument inode tracking on file open lsm hook#391
JoukoVirtanen wants to merge 2 commits intomainfrom
jv-ROX-33198-instrument-inode-tracking-on-file_open-lsm-hook

Conversation

@JoukoVirtanen
Copy link
Contributor

Description

A detailed explanation of the changes in your PR.

Feel free to remove this section if it is overkill for your PR, and the title of your PR is sufficiently descriptive.

Checklist

  • Investigated and inspected CI test results
  • Updated documentation accordingly

Automated testing

  • Added unit tests
  • Added integration tests
  • Added regression tests

If any of these don't apply, please comment below.

Testing Performed

TODO(replace-me)
Use this space to explain how you tested your PR, or, if you didn't test it, why you did not do so. (Valid reasons include "CI is sufficient" or "No testable changes")
In addition to reviewing your code, reviewers must also review your testing instructions, and make sure they are sufficient.

For more details, ref the Confluence page about this section.

@JoukoVirtanen JoukoVirtanen requested a review from Molter73 March 15, 2026 18:14
// to avoid verifier issues with untrusted pointers.
// We need to replicate the logic from inode_to_key() to handle
// special filesystems like btrfs correctly.
inode_key_t parent_key = {0};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to get the key for the parent using inode_to_key, but got a verifier error. That function is largely copied here. It is not completely copied, because doing so resulted in a verifier error. This will not work in all cases.

return Ok(());
}

let host_path = host_info::prepend_host_mount(event.get_filename());
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The initial plan was to look up the parent, get its file path, and then add the file name. However, it seems possible to get the entire path from the event.

# Wait for creation event
process = Process.from_proc()
creation_event = Event(process=process, event_type=EventType.CREATION,
file=fut, host_path='')
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should host_path be populated here.

"""
cwd = os.getcwd()
config = {
'paths': [f'{monitored_dir}/**', '/mounted/**', '/container-dir/**'],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure what globbing to use here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant